“Cyber-Security is much more than a matter of IT.” ― Stephane Nappo
資訊安全泛指對資訊的保護以及預防(不只局限於資料存在的形式是否為電子),整體涵蓋了非常大的範圍。
除了讓我們在日常生活中,可以對個資的保護有所警覺以外,對於工程師而言,懂得不懷好意的攻擊者的攻擊手法,對於開發一個安全的程式也非常有幫助!
非常推薦使用 Hack The Box: The #1 Cybersecurity Performance Center 與 TryHackMe | Security Awareness進行學習,裡面除了有理論知識可以學習以外,還會有實作部分幫助深刻理解,都是很優秀的網站!
在這邊我們會用 picoCTF - CMU Cybersecurity Competition 進行實作的學習,可以幫助初學者對整體有更快的了解與認識:
全名Capture The Flag,類似演算法的刷題,給你一個環境(機器或可執行檔),你需要找到作者藏在該環境中的Flag,然後將Flag提交,有點類似尋寶遊戲。
登入 PicoCTF 後,點擊PicoGym:
左邊為難易度與類別,右邊是題目列表。
在開始之前,我們需要一個Terminal(終端機)的環境,可以點擊網站右邊的WebShell,打開後點擊右上的Popout按鈕,開啟一個新視窗,輸入你的UserName和Password後即可登入。
(也可以使用WSL或是VM,主要是要有Unix的環境方便操作)
首先,我們先點擊file右鍵複製連結,然後到terminal中輸入:
# wget指令會下載該連結的內容
$ wget https://jupiter.challenges.picoctf.org/static/495d43ee4a2b9f345a4307d053b4d88d/file
接下來使用ls查看當前目錄下的檔案:
$ ls
可以看到我們當前目錄下多了一個叫做file的可執行檔(在Linux的可執行檔沒有副檔名),接下來執行該檔案:
# ./ 代表當前目錄下的
$ ./file
執行後跑出錯誤 Permission denied,代表該執行檔我們沒有權限執行,使用chmod賦予權限:
$ chmod +x ./file
再執行一次後,跑出一堆亂碼,這時候我們看一下題目和Hints,發現似乎要我們使用一個叫做grep的指令,grep可以把輸入的文本內容過濾出我們想要的文字:
# cat指令是把檔案的內容打印出來
# | 管道符將左邊指令(cat ./file)的輸出 做為 右邊指令(grep "picCTF")的輸入
# 所以整行指令是:將file的內容使用grep去篩選出包含"picoCTF"的文本內容(picoCTF是flag的格式)
$ cat ./file | grep "picoCTF"
picoCTF{grep_is_good_to_find_things_dba08a45}